/**
*This software is under LGPL license,
*see http://www.gnu.org/licenses/lgpl-3.0.txt (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>)
*Console.h First issued by chuanshenglu@gmail.com 2008.10
*/
#ifndef __LISTENER_H__
#define __LISTENER_H__

/**
*Interfaces to handle various events;
*/
namespace TR{
	/**General listener*/
	//Not neccessary
	/*class IListener{
	public:
		Listener(){};
		virtual ~Listener(){}
	};*/

	/**
	*Keyboard event Listener.
	*if a application wanna process keyboard event,just implement this interface;
	*/
	class IKeyboardEventListener{//:public Listener{
	public:
		IKeyboardEventListener(){
		}
		virtual ~IKeyboardEventListener(){
		}
		
		//Keyevent;
		virtual void OnKeyDown(KeyboardEvent&){
		}
		virtual void OnKeyUp(KeyboardEvent&){
		}
	};

	/**
	*Focus event Listener
	*/
	class IFocusEventListener{//:public listener{
	public:
		IFocusEventListener(){
		}
		virtual ~IFocusEventListener(){
		}

		//Focus event
		virtual void OnGetFocus(){
		}
		virtual void OnLostFocus(){
		}
	};

}

#endif